package uhaleks;

/**
 * Класс Сортированный целочисленный двунаправленный связный список
 *
 * @version 1.0       06.07.2014, 07.07.2014
 * @author            Александр Уханов
 */
public class SortedIntegerLinkedList extends LinkedList<Integer> {

    /** Добавляет указанный элемент с учетом сортировки */
    @Override
    public void add(Integer e) {
        if (size == 0) {
            header = new Node<Integer>(null, null, null);
            Node<Integer> newNode = new Node<Integer>(header, e, header);
            newNode.prev.next = newNode;
            newNode.next.prev = newNode;
        } else {
            Node<Integer> n = header.next;
            for (int i = 0; i < size; i++) {
                if (e > n.item)
                    n = n.next;
                else
                    break;
            }
            Node<Integer> newNode = new Node<Integer>(n.prev, e, n);
            newNode.prev.next = newNode;
            newNode.next.prev = newNode;
        }
        size++;
    }
}
